<?php

class Ev_View_Helper_DateFormat extends Zend_View_Helper_Abstract
{
    public function dateFormat($date, $format = null, $mostraVazio = true)
    {
        if (empty($date)) {
            return '';
        }

        if (!$format) {
            $format = 'd/m/Y';
        } elseif ($format == 'ext' || $format == 'exth') {
            switch (substr($date, 5, 2)){
                case('01'): $mes = 'Janeiro';   break;
                case('02'): $mes = 'Fevereiro'; break;
                case('03'): $mes = 'Março';     break;
                case('04'): $mes = 'Abril';     break;
                case('05'): $mes = 'Maio';      break;
                case('06'): $mes = 'Junho';     break;
                case('07'): $mes = 'Julho';     break;
                case('08'): $mes = 'Agosto';    break;
                case('09'): $mes = 'Setembro';  break;
                case('10'): $mes = 'Outubro';   break;
                case('11'): $mes = 'Novembro';  break;
                case('12'): $mes = 'Dezembro';  break;
            }

            $dia = substr($date, 8, 2);
            $ano = substr($date, 0, 4);
            $hora = $format == 'exth' ? 'às ' . substr($date, 11, 5) : '';
            return "$dia de $mes de $ano $hora";
        }

        if ((0 == (int) $date) && $mostraVazio) {
            return '';
        }
        return date($format, strtotime($date));
    }
}
